// 云函数入口文件
const cloud = require('wx-server-sdk') //此处的cloud等同于我们熟悉的wx.cloud

cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  // 1. 拿到的event中的信息（头像、昵称）
  console.log(event);
  let {avatar,nickname} = event

  // 2. 判断当前openid对应的用户，在用户表中是否已经存在
  // 2-1：新增用户
  let openid = wxContext.OPENID
  let db = cloud.database()
  let res = await db.collection('user').where({openid}).get()
  console.log('用户查询结果',res);
  let userinfo = null
  if(res.data.length){ // 2-2：得到现有用户信息
    userinfo = res.data[0]
  }else{
    let res1 =  await db.collection('user').add({
      data:{openid,avatar,nickname}
    })
    userinfo = {openid,avatar,nickname,_id:res1._id}
    console.log('新增用户',res1);
  }
  
  // 3. 将信息下发客户端
  console.log('向客户端下发数据',userinfo);

  return userinfo
}